#ifndef _TILE_
#define _TILE_

#include "Entity.h"

struct GLColor
{
	float r;
	float g;
	float b;
	float a;
};

class Tile
{
public:
	Tile();
	virtual ~Tile();

	virtual void Render(int x, int y, int width, int height);

	virtual bool IsTravellable() = 0;

	// Get the cost in energy for this tile to be travelled on
	virtual int TravelCost() = 0;

	virtual Tile* Consume() = 0;

protected:
	virtual void getColor(GLColor &color) = 0;
};

#endif //_TILE_